package com.example.thread.setdaemon;

import java.text.SimpleDateFormat;
import java.util.Date;
import java.util.Scanner;
//守护线程 setDaemon(true)
//JVM虚拟机退出条件，是所有前台线程结束，当前台线程结束，虚拟机会自动退出 不会等待后台线程结束
// 垃圾回收器是一个后台线程
public class Daemon {
    public static void main(String[] args) {
        T1 t1 = new T1();

        t1.start();

        Thread t2 = new Thread() {
            @Override
            public void run() {
                System.out.println("按回车提醒 t1");
                new Scanner(System.in).nextLine();
                t1.interrupt();
            }
        };
        //虚拟机不会等待后代线程结束
        //所有前台线程结束时，虚拟机会自动退出
        t2.setDaemon(true);
        t2.start();

    }
    static class T1 extends Thread{

        @Override
        public void run() {
            SimpleDateFormat f = new SimpleDateFormat("HH:mm:ss");
            for (int i = 0; i < 10; i++) {
                String S = f.format(new Date());
                System.out.println(S);
                try {
                    Thread.sleep(1000);
                } catch (InterruptedException e) {
                    System.out.println("被打断");
                    break;
                }
            }
        }
    }
}
